MySQL 數(shù)據(jù)庫(kù)和表操作
-- 創(chuàng)建數(shù)據(jù)庫(kù)
-- 創(chuàng)建 classroom 數(shù)據(jù)庫(kù)
create database 數(shù)據(jù)庫(kù)名 default character set 字符編碼 collate 排序規(guī)則;
eg:
create database classroom default character set utf8 collate utf8_general_ci;
-- 查看所有數(shù)據(jù)庫(kù)
show databases;
-- 選擇數(shù)據(jù)庫(kù)
use 數(shù)據(jù)庫(kù)名;
eg:
use classroom;
-- 刪除數(shù)據(jù)庫(kù)
drop database 數(shù)據(jù)庫(kù)名;
eg:
drop database classroom;
-- 創(chuàng)建表
-- 創(chuàng)建 class 表
create table 表名(字段名 數(shù)據(jù)類(lèi)型[長(zhǎng)度] 屬性[非空性 默認(rèn)值 自增 主鍵 注釋])charset=utf8,engine=innodb;
eg:
create table class (
id int (11) not null auto_increment primary key comment '學(xué)號(hào)',
name varchar(20) not null comment '姓名',
sex varchar(2) not null comment '性別',
age int (3) not null comment '年齡',
address varchar(255) not null comment '重慶'
);
-- 修改 表
-- 添加字段
alter table 表名 add 字段名 數(shù)據(jù)類(lèi)型 屬性;
eg:
alter table class add stu_name varchar(255) null;
alter table class add birthday timestamp; -- 時(shí)間 日期
-- 修改字段
alter table 表名 change 字段 新字段 類(lèi)型(參數(shù)) 屬性;
eg:
alter table class change stuname name varchar(20) not null;
-- 刪除字段
alter table 表名 drop 字段;
eg:
alter table class drop name;
-- 增加主鍵
alter table 表名 add primary key (字段);
eg:
alter table class add primary key (id);
-- 修改 表名
alter table 表名 rename to 新名;
eg:
alter table class rename to class_one;
-- 復(fù)制 表
-- 方法1:
不能復(fù)制鍵;
create table 新表 select * from 舊表;
eg:
create table class1 select * from class;
-- 方法2:
全表賦值;
create table 新表 like 舊表;
eg:
create table class1 like class;
-- 刪除 表
-- 刪除 表
drop table 表名;
eg:
drop table class1;
-- 刪除 多表
drop table 表名1,表名2,...表名n;
drop table class,class1,class2;
--數(shù)據(jù)操作
-- 插入信息
-- 方法1:insert...values
-- 單條語(yǔ)句
insert into class values (21403001,'張三','男',20,'重慶');
-- 多條語(yǔ)句
insert into class values
(null,'小花1','女',31,'河北3',null,null),
(null,'小花1','女',31,'河北3',null,null),
(null,'小花1','女',31,'河北3',null,null);
-- 方法2:insert...set
insert into class set id=null,name='小花1',sex='女',age=32,address='河北3',birthday=null,remark=null;
-- 方法3:insert...select
insert into class1 select * from class;
-- 查詢(xún)數(shù)據(jù)
-- 方法1:查詢(xún)特定的行與列
select id, name from class where id<=21403005 and name<>'王五';
-- 方法2:限制結(jié)果集
select * from class limit 5;
-- 備注:
-- 方法3:排序結(jié)果集
select * from class order by name asc;
-- 更新(修改)數(shù)據(jù)
-- update 表名 set 字段1=值,...字段n=值n [where...] [order by ...] [limit row 值]
-- set 指定要修改的列
-- order by 按照被指定的順序?qū)π羞M(jìn)行更改
-- limit 限制可以被更新的行的數(shù)目
update 表名 set 字段名=值,字段名=值,字段名=值,..... where 條件表達(dá)式;
eg:-- 修改 學(xué)號(hào) 為 21403103 的 姓名 和 年齡
update class2 set name = '張三',age='50' where id = 21403103;
update class2 set address='天津' where id = 21403108;
-- 刪除數(shù)據(jù)
-- 方法1:如果不使用 where,則會(huì)刪除所有數(shù)據(jù)
delete from 表名 where [字段=值];
delete from 表名 where 條件表達(dá)式;
-- 提交事務(wù)后生效,truncate不能保證事務(wù)的安全性。
eg:
delete from class2 where address="上海"; -- 指定字段 刪除 數(shù)據(jù)
-- 插入數(shù)據(jù)
insert into class2 values(21403100,'張三','男',22,'重慶');
insert into class2 values(null,'王五','男',25,'上海');
-- 查看表
select * from class2;
-- 查看所有表
show tables;
-- 查看 表結(jié)構(gòu)
describe class;
-- 查看當(dāng)前登錄用戶(hù)
select user();
-- 查看當(dāng)前數(shù)據(jù)庫(kù)
select database();