@jaiminc
2015-07-19T16:02:55.000000Z
字数 1719
阅读 1743
MySQL
SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统。
select cust_id,fname
from individual
where lname='Smith';
该查询搜索individual表,以找到所有lname列匹配字符串‘Smith’的行,并返回这些行中的cust_id和fname列。
insert into product(product_cd,name)
values('CD','certificate of depysit');
在表中插入新行(其中depysit有错)
update product
set name = 'certificate of deposit'
where product_cd = 'CD';
更新信息
登录MySQL:
mysql -u root -p;
创建示例数据库:
create database bank;
创建访问用户guest,赋予bank数据库的权限:
grant all privileges on bank.* to 'guest'@'localhost' identified by 'xyz';
/*guest为用户名,xyz为密码*/
退出MySQL工具包并以guest登录:
quit;
mysql -u guest -p;
关联bank数据库:
use bank;
同时指定用户名以及数据库:
mysql -u guest -p bank
查询当前时间:
mysql> select now();
某些数据库服务器规定查询语句必须包含from字句并至少指明一个表名(比如Orcale),则要利用dual表:
mysql> select now()
from dual;
SQL通常只涉及字符型、数值型、日期型。
字符型:
(文本数据)
- tinytext (max=255)
- text
- mediumtext
- longtext
数值型:
- tinyint (max=255)
- smallint (max=65535)
- mediumint (max=16M)
- int (max=4G)
- bigint
时间型:
- data
- datatime
- timestamp
- year
- time
应该利用保证唯一性的数据作为主键
复合对象应该被拆分(如地址信息)
适当单独列表,用主键和外键相联系
基本构建语句:
create table person
(person_id smallint unsigned,
fname varchar(20),
lname varchar(20),
......
postal_code varchar(20),
constraint pk_person primary key (person_id)/*定义主键*/
);
最后一句即为主键约束,它被创建在person_id列上,并被命名为pk_person
关于约束:gender只接受‘M’或者‘F’。MySQL允许在定义列时关联一个检查约束,如
gender char(1) check (gender in ('M','F')),
MySQL提供了将检查约束与数据类型定义融合到一起的字符数据类型enum:
gender enum('M','F'),
检查表的定义:desc <表名>
insert语句:
insert into person
(person_id,fname,lname,gender,birth_date)
values(null,'William','Turner','M','1972-05-27');
update语句:
update person
set city= 'Boston'
country='USA'
where person_id = 1;
delete语句:
delete from person
where person_id = 2;
drop语句(删除表):
drop table <table_name>