?
? create database [if not exists] db_name [character set xxx] [collate xxx]
? *创建一个名称为mydb1的数据库。
create database mydb1;
? *创建一个使用utf8字符集的mydb2数据库。
create database mydb2 character set utf8;
? *创建一个使用utf8字符集,并带校对规则的mydb3数据库。
create database mydb3 character set utf8 collate utf8_bin ;
?
?2.查看数据库
? show databases;查看所有数据库
? show create database db_name; 查看数据库的创建方式
?
?3.修改数据库
? alter database db_name [character set xxx] [collate xxxx]
?
?4.删除数据库
? drop database [if exists] db_name;
?
?5.使用数据库
? 切换数据库 use db_name;
? 查看当前使用的数据库 select database();
--------------------------------------------------------------------------------------------------
?
二、表
?
?1.创建表
create table tab_name(
field1 type,
field2 type,
...
fieldn type
)[character set xxx][collate xxx];
?
String ---------------------- char(n) varchar(n) 255 65535
byte short int long float double -------------- tinyint smallint int bigint float double
boolean ------------------ bit 0/1
Date ------------------ Date、Time、DateTime、timestamp
FileInputStream FileReader ------------------------------ Blob Text
?
?
?*创建一个员工表employee
create table employee(
id int primary key auto_increment ,
name varchar(20),
gender bit default 1,
birthday date,
entry_date date,
job varchar(20),
salary double,
resume text
);
?
?约束:
? primary key
? unique
? not null
? auto_increment 主键字段必须是数字类型。
? 外键约束
?
? 2.查看表信息
desc tab_name 查看表结构
show tables 查看当前数据库中的所有的表
show create table tab_name 查看当前数据库表建表语句
?
? 3.修改表结构
?
?(1)增加一列
? alter table tab_name add [column] 列名 类型;
?
?(2)修改一列类型
? alter table tab_name modify 列名 类型;
?
?(3)修改列名
? alter table tab_name change [column] 列名 新列名 类型;
?
?(4)删除一列
? alter table tab_name drop [column] 列名;
?
?(5)修改表名
? rename table 表名 to 新表名;
?
?(6)修该表所用的字符集
? alter table student character set utf8;
??
4.删除表
?drop table tab_name;
?
?
--------------------------------------------------------------------------------------------------
?
三、表记录
?
?1.增加一条记录insert
? insert into tab_name (field1,filed2,.......) values (value1,value2,.......);
? *插入的数据应与字段的数据类型相同。
? *数据的大小应在列的规定范围内,例如:不能将一个长度为80的字符串加入到长度为40的列中。
? *在values中列出的数据位置必须与被加入的列的排列位置相对应。
? *字符和日期型数据应包含在单引号中'zhang' '2013-04-20'
? *插入空值:不指定某列的值或insert into table value(null),则该列取空值。
? *如果要插入所有字段可以省写列列表,直接按表中字段顺序写值列表insert into tab_name values(value1,value2,......);
?
? *练习:使用insert语句向表中插入三个员工的信息。
? insert into emp (name,birthday,entry_date,job,salary) values ('张飞','1990-09-09','2000-01-01','打手',999);
? insert into emp (name,birthday,entry_date,job,salary) values ('关羽','1989-08-08','2000-01-01','财神',9999);
? insert into emp (name,birthday,entry_date,job,salary) values ('赵云','1991-07-07','2000-01-02','保安',888);
? insert into emp values (7,'黄忠',1,'1970-05-05','2001-01-01','战神',1000,null);
?
?2.修改表记录
update tab_name set field1=value1,field2=value2,......[where 语句]
*UPDATE语法可以用新值更新原有表行中的各列。
*SET子句指示要修改哪些列和要给予哪些值。
*WHERE子句指定应更新哪些行。如没有WHERE子句,则更新所有的行。
*实验:
?将所有员工薪水修改为5000元。
?update emp set salary=5000;
?将姓名为’zs’的员工薪水修改